Frameworks and Web environments using Java and other compiled languages (e.g., Spring Framework) may use regular dependency injection that allows a component to declare that it requires another component. Typically, a system can simply create an instance of the other component when the system determines that the component needs the other component and that there is not one already created. However, when the system is being run in a Web browser, there may be long delays when the system needs to request the JavaScript file that implements the other component from the server as the user performs a request to interact with the component. An instance may not be created without noticeable delays even while performing an asynchronous call to the server to download the JavaScript file. It would be inefficient and diminishing for the user experience for the system to load and create an instance of the other component at the point when the system determines that the other component is needed.